刘知远:知识指导的自然语言理解
随着互联网的广泛应用,自然语言成为人工智能领域发展最快的应用之一。在2019年6月的集智-凯风复杂系统论坛中,刘知远老师就知识指导的自然语言理解展开了一系列讨论:先介绍了自然语言处理的基本概念,然后是以深度学习为代表的数据驱动的自然语言,再将知识引入到深度学习模型中,知识+数据双向驱动的自然语言处理。
本文内容源于刘知远老师的讲座内容,经授权发布。讲座录播时长21分钟,地址见文末。
本讲座首先介绍了自然语言和自然语言处理的基本概念,阐述了以深度学习为代表的数据驱动的自然语言处理的特点及难点,并进一步讲述了引入知识指导,深度学习和知识图谱双向驱动的自然语言处理技术体系。接着结合实例,分别从语言知识库和世界知识库两个方面,详细的介绍了两种知识库,并讲述了如何将这两种知识引入到深度学习模型。最后,给出了总结与展望。
自然语言及自然语言处理
自然语言是人类之间交流传播信息和知识的工具。与计算机领域中的编程语言相对应,自然语言有很多特点,比如每天产生新词、旧词新意、一词多义。
自然语言处理(Natural Language Processing,简称NLP)旨在希望计算机像人一样来处理、理解以及运用人类语言。这个问题从本质上来讲是从无结构序列中预测有结构语义。
展开来讲,人类语言是一串典型的序列,没有任何信息,如果想要理解背后的意思,则需对背后的语言结构进行分析。这里涉及很多相关任务,比如词性标注、命名体识别、指代消解、依存分析等。
自然语言处理为什么重要?这件事情和计算机的发展有重大关系,计算机的两大奠基人阿兰·图灵和冯·诺意曼他们在晚年都不约而同的在思考相同的问题,即计算机能否像人类一样思考。其中比较著名的属图灵在后期提出的图灵测试,在图灵测试的设置中,需要使用自然语言进行交流。所以说,自然语言处理是实现人工智能、通过图灵测试的关键。
数据驱动的自然语言处理:深度学习
010年后,深度学习掀起了一场技术热潮,它是一种以数据进行驱动的方法。深度学习在完成自然语言处理任务的时候主要有两个特点:
第一:举一个机器翻译的例子,这里,我们首先将待翻译的语言对象用一个低维的向量表示,将语义信息encode到低维的向量中。从这个例子可以看出,深度学习有一个很大的特点就是低维的向量表示。
第二:自然语言存在多种粒度的语言单位,包括汉字、词汇、短语、句子,自然语言处理的任务需要建立这些不同语言单位间的语义关联。通过低维向量表示,把这些不同粒度的对象都映射到统一的语义表示空间里面,就有了统一的计算方案,这样就很容易建立多粒度的语言关联。即,深度学习能够高效学习多粒度语言单元间复杂语义关联。
深度学习给我们带来了很大的进步,但真正实现自然语言理解还有很长路要走,我们仍面临很多的挑战。其中很重要的突破方向是,对自然语言的深度理解需要复杂知识的支持。
下面通过一个例子感受一下,对于“这个夏天就像烤箱一样”这句话,如果掌握语言翻译知识就可很容易的通过查词典的方式翻译到任何其他语言,但此时并不意味着理解了这句话;如果具有了常识知识,就能理解它在比喻“这个夏天温度很高”;同时,再有世界知识,可以懂得它在说“我们需要想办法降温”;再进一步,如果需要计算机帮助我们解决可能中暑的危险,则需要领域知识的参与。以往深度学习技术只能利用互联网上大规模的文本学习一些特定任务,而想要实现从字面意思到言外之意的跃迁,人类知识变得异常重要。
深度学习+知识图谱双向驱动的自然语言处理技术体系
进入到2019年,以数据驱动的深度学习已经能比较好的建立起语言内部的语义关联。接下来需要做的是将知识指导加入进来,两者联合更好的实现自然语言处理。
人类知识是一个典型的符号系统,其中语言知识、世界知识都是通过离散的符号来表示。那么这些符号表示该如何融入到深度学习模型中?一个比较重要的技术路线为——分布式表示。我们希望通过表示学习的方式,将符号化的知识、结构化的知识映射到统一的语义空间中,这样则可实现跨粒度、跨领域、富知识的语言理解。
最后形成了一个整理思路,如果存在一个知识图谱,可以通过表示学习去建立低维的向量表示,将其嵌入到深度学习中去,实现知识对深度学习的指导。当深度学习有了知识的指导,就可以更好的理解互联网上的信息,进一步获取更多的知识补充到知识图谱中。即深度学习+知识图谱双向驱动的自然语言处理技术体系,最后知识图谱规模会越来越大,同时深度学习的能力会越来越强。
语言知识库
通过上述部分,我们知道了知识对于实现语言理解很重要,其中一种比较重要的知识为语言知识和常识知识。过去几十年语言学家手工构建了很多知识库,比如英语世界中最具知名度的 “WordNet”,以及中国学者构建的“知网”(HowNet)。
什么是HowNet?HowNet是董振东、董强父子毕三十年之功标注的大型语言知识库,主要面向中文的词汇与概念标注义原知识。它秉承还原论思想,认为词汇或者汉字是最小的语言单位,但不是最小的语义单位,认为词汇可以用更小的语义单位——义原(Sememe)来描述,义原顾名思义就是原子语义,即最基本的、不宜再分割的最小语义单位。HowNet逐渐构建出一套精细的义原体系(包含约2000个义原),累计标注了数十万词汇/词义的语义信息。
例如“顶点”一词在 HowNet 有两个代表义项,分别标注义原信息如下,其中每个“xx|yy”代表一个义原,“|”左边为英文右边为中文;义原之间还被标注了复杂的语义关系,如 host、modifier、belong 等,从而能够精确地表示词义的语义信息。可视化后的结构如图*所示。由于这些义原都有实际含义,可以直接嵌入深度学习中。
顶点#1
DEF={Boundary|界限:host={entity|实体},modifier={GreaterThanNormal|高于正常:degree={most|最}}}
顶点#2
DEF={location|位置:belong={angular|角},modifier={dot|点}}
义原知识带有层次结构
进入深度学习时代,这种以HowNet为代表的语言(常识)知识有何优势?
在自然语言理解方面,HowNet 更贴近语言本质特点。可以说,词汇是最小的语言使用单位,却不是最小的语义单位。HowNet 提出的义原标注体系,正是突破词汇屏障,深入了解词汇背后丰富语义信息的重要通道。
在融入学习模型方面,HowNet 具有无可比拟的优势。在 WordNet、同义词词林等知识库中,每个词的词义是通过同义词集(synset)和定义(gloss)来间接体现的,具体每个词义到底什么意义,缺少细粒度的精准刻画,缺少显式定量的信息,无法更好为计算机所用。与WordNet、同义词词林等知识库组织模式不同。HowNet通过统一义原标注体系直接精准刻画语义信息。每个义原含义明确固定,可被直接作为语义标签融入机器学习模型。
所做相关工作整理在github列表:https://github.com/thunlp/SCPapers
义原知识计算相关论文
• Fanchao Qi, Junjie Huang, Chenghao Yang, Zhiyuan Liu, Xiao Chen, Qun Liu, Maosong Sun. Modeling Semantic Compositionality with Sememe Knowledge. ACL 2019.
• Yihong Gu, Jun Yan, Hao Zhu, Zhiyuan Liu, Ruobing Xie, Maosong Sun, Fen Lin and Leyu Lin. Language Modeling with Sparse Product of Sememe Experts. EMNLP 2018.
• Fanchao Qi, Yankai Lin, Maosong Sun, Hao Zhu, Ruobing Xie, Zhiyuan Liu. Cross-lingual Lexical Sememe Prediction. EMNLP 2018.
• Huiming Jin, Hao Zhu, Zhiyuan Liu, Ruobing Xie, Maosong Sun, Fen Lin, Leyu Lin. Incorporating Chinese Characters of Words for Lexical Sememe Prediction. ACL 2018.
• Xiangkai Zeng, Cheng Yang, Cunchao Tu, Zhiyuan Liu, Maosong Sun. Chinese LIWC Lexicon Expansion via Hierarchical Classification of Word Embeddings with Sememe Attention. AAAI 2018.
• Ruobing Xie, Xingchi Yuan, Zhiyuan Liu, Maosong Sun. Lexical Sememe Prediction via Word Embeddings and Matrix Factorization. IJCAI 2017.
• Yilin Niu, Ruobing Xie, Zhiyuan Liu, Maosong Sun. Improved Word Representation Learning with Sememes. ACL 2017.
世界知识库
除了上节介绍的语言和常识知识,另一种比较重要的知识库是,以Google Knowledge Graphs为代表的世界知识库,它是用三元组形式记录现实世界中各种各样的实体及关系,这样就会形成一个很大的网络结构。
如何将这些三元组的形式融合到深度学习中?前文已经提到过分布式表示学习,类似于Word2vec把词映射到低维空间,我们是希望把带结构的实体以及关系映射到低维向量空间中。
我们在自然语言的几个任务上做了相关探索:
第一个尝试:对文本实体进行细粒度分类,即对一句话中的实体判断类型。以往只利用文本上下文信息来判断实体类型,现在可以借助知识图谱映射后的低维向量,提出知识注意力机制,建立对上下文的高效建模。
相关论文:Ji Xin, Yankai Lin, Zhiyuan Liu, Maosong Sun. Improving Neural Fine-Grained Entity Typing with Knowledge Attention. The 32th AAAI Conference on Artificial Intelligence (AAAI 2018).
第二个尝试:类似于尝试一的思想,在利用神经网络学习查询-文档匹配关系模型(KNRM)中,引入KG世界知识。
相关论文:Zhenghao Liu, Chenyan Xiong, Maosong Sun, and Zhiyuan Liu. Entity-Duet Neural Ranking: Understanding the Role of Knowledge Graph Semantics in Neural Information Retrieval. ACL 2018.
第三个尝试:预训练模型可以充分利用大规模无标注的文本,学习出强大的模型,例如bert。但这些预训练模型未考虑结构化知识,引入知识图谱的结构化知识可以有效的提升模型对于文本中的低频实体的理解能力。
世界知识指导NLP相关论文
• Zhengyan Zhang, Xu Han, Zhiyuan Liu, Xin Jiang, Maosong Sun, Qun Liu. ERNIE: Enhanced Language Representation with Informative Entities. ACL 2019.
• Zhenghao Liu, Chenyan Xiong, Maosong Sun, Zhiyuan Liu. Entity-Duet Neural Ranking: Understanding the Role of Knowledge Graph Semantics in Neural Information Retrieval. ACL 2018.
• Ji Xin, Yankai Lin, Zhiyuan Liu, Maosong Sun. Improving Neural Fine-Grained Entity Typing with Knowledge Attention. AAAI 2018.
• Hao Zhu, Ruobing Xie, Zhiyuan Liu, Maosong Sun. Iterative Entity Alignment via Joint Knowledge Embeddings. IJCAI 2017.
• Yankai Lin, Zhiyuan Liu, Maosong Sun. Knowledge Representation Learning with Entities, Attributes and Relations. IJCAI 2016.
总结展望
我们开源了义原计算、知识表示、知识获取等相关算法工具,在全球最大开源社区GitHub发布,获得超过17000+星标关注。
https://github.com/thunlp
以深度学习为代表的数据驱动模型如何与知识库进行融合,有以下几个方向深具探索价值:
l 义原语言知识突破词汇屏障,对语言理解极具重要意义,具有极佳融合深度学习的特性
lI 世界知识对于富知识文本深度理解具有重要意义,知识表示学习是目前较好的解决方案
lII 深度学习自然语言处理技术反过来可以帮助从大规模文本中获取知识
刘知远老师讲座视频上线
录播地址:
https://campus.swarma.org/play/play?id=10937
讲者:刘知远 整理:曹羽 编辑:张爽
集智俱乐部QQ群|877391004
商务合作及投稿转载|swarma@swarma.org
◆ ◆ ◆
搜索公众号:集智俱乐部
加入“没有围墙的研究所”
让苹果砸得更猛烈些吧!